import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;


  public class Alphabet {
 
	  protected Set<SymboleTerminaux> alphabet;
	  
	  
	 
	  public Alphabet(){
		  	this.alphabet = new HashSet<SymboleTerminaux>();
	  }
	 
	  public boolean contains(SymboleTerminaux s){
		  	return alphabet.contains(s);
	  }
	 
	 /* public void addSymbole(SymboleTerminaux s){
		  		alphabet.add(s);
	  }*/
	 
	  public void removeSymbole(SymboleTerminaux s){
		  if(contains(s))
			  	alphabet.remove(s);
	  }

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((alphabet == null) ? 0 : alphabet.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Alphabet other = (Alphabet) obj;
		if (alphabet == null) {
			if (other.alphabet != null)
				return false;
		} else if (!alphabet.equals(other.alphabet))
			return false;
		return true;
	}

	public int Length() {
		// TODO Auto-generated method stub
		return 0;
	}

	public List<Symbole> get(int i) {
		// TODO Auto-generated method stub
		return null;
	}

	public void add(Symbole sS) {
		// TODO Auto-generated method stub
		
	}
	  
	  
	  }